TCP 3-way handshake

❓질문

TCP 3-way handshake 과정에 대해서 설명해주세요.


💡 조사하기전 내가 알고 있던 내용

TCP는 트랜스미션 컨트롤 프로토콜의 약자로 신뢰성있는 데이터 전송을 담당 프로토콜입니다.

이 신뢰성있는 데이터 전송을 위해 3-way handshake라는 과정을 미리하는데요
첫번째로 클라이언트측에서 서버측으로 SYN 신호를 보냅니다
두번째로 서버측에서 이걸 받으면 SYN 신호와 ACK 신호를 보냅니다
세번째로 클라이언트측에서 이 SYN ACK신호를 받으면 ACK 신호를 서버측으로 보냅니다
이렇게 요청신호와 확인신호를 통해 안정적으로 데이터 통신을 할 수 있는 상태임을 검증하고 TCP 연결이 수립됩니다.


🏫 정리한 내용

이렇게 신뢰성있는 데이터 통신 말고 3way handshake 없이 데이터를 전송할 수 있는 프로토콜도 있습니다.

대표적으로 UDP를 꼽을 수 있는데요 TCP와 달라 연결을 설정하는 과정 없이 데이터를 바로 전송합니다. 따라서 속도는 빠르지만 신뢰성이 보장되어 있지않습니다. 주로 영상 스트리밍이나 온라인 게임처럼 실시간성이 필요한 경우에는 UDP를 사용합니다.